As the electronic world continues to evolve, computers and the Internet have infiltrated more and more day-to-day activities. What began as a network for scientists to exchange research and writings has grown into the information superhighway where vast amounts of data and services are exchanged in the everyday conduct of business. The transmission of all of this data is assisted through the hypertext transfer protocol (HTTP), the standard transport protocol for the Internet. At the beginning of the World Wide Web (Web), static hypertext markup language (HTML) documents were stored on Web servers, which are also sometimes referred to as HTTP servers. A Web browser would send an HTTP request to a Web server, which then accesses and delivers the requested Web page or HTML file back to the requesting user's Web browser, again over HTTP. The HTML content is then rendered in the Web browser for the user to view. HTML is a markup language that uses tags or metadata to define the appearance or style of the data within the file. Web browsers interpret these tags and render the data onto the screen according to the defined format or styling. While this process allows for the presentation of graphically-oriented material, it is a static interaction; without the ability to interact dynamically with the user.
With the advent of common gateway interface (CGI) scripts and HTML forms, the first interactive Websites were developed. Data entered by a user in an HTML form was extracted by the CGI script, which interacted with a backend database to retrieve requested data. The CGI script would then format the resulting information into an HTML page and send it back via HTTP to the requesting user's Web server for display. These primitive interactive Websites have now evolved into complex application servers that provide many types of complex business logic or data access to user's Web browsers.
Application servers, such as MACROMEDIA, INC.'s COLDFUSION™, IBM's WEBSPHERE APPLICATION SERVER™, BEA's WEBLOGIC™, MICROSOFT CORPORATION's WEB SERVER SYSTEM™, and the like, essentially comprise software in an Internet or intranet environment that host a variety of language systems to program database queries and/or perform general processing. Such language systems include SUN MICROSYSTEMS, INC.'s JAVA™-based platforms, such as the JAVA™ 2 PLATFORM, ENTERPRISE EDITION (J2EE), which uses logic modules, such as ENTERPRISE JAVABEANS™ (EJBs), JAVASERVER PAGES™ (JSPs), JAVA™ servlets, and the like, written in JAVA™ to link the information resources to the enterprise. COLDFUSION™ uses another such language system, COLDFUSION™ MARKUP LANGUAGE™ (CFML™), to script applications or components to perform the server-side logic. COLDFUSION™ logic modules include codes sets such as, COLDFUSION™ components (CFC).
The common thread throughout application server technology is the use of HTTP as a transport mechanism. Moreover, application servers perform tasks in a typically synchronous, client-server architecture, where the client issues an HTTP request to the server, waits for the server to process and then respond to the request via HTTP before going on. Web browsers issue requests to the application server over HTTP, while the application server packages the results and sends them back out over HTTP formatted in HTML. Because the application server generates the HTML to be displayed by the Web browser, the Web browser synchronously waits for the response from the application server. While this standard platform allows complex transactions to take place over the Internet, the application server, along with the logic that it represents, is typically accessible only through HTTP.
As electronic technologies increase, additional devices that are not typically considered Internet appliances are increasingly accessing the Internet. For example, mobile phones have begun to access the Internet through Wireless Access Protocol (WAP) or lightened versions of HTTP. Traditionally, however, services or logic functionality has been provided to mobile phones through the textual communication of Short Messaging Service (SMS). SMS is a pervasive, global standard for sending and receiving text messages to and/or from mobile phones and devices. Typically, SMS servers, referred to SMS Centers (SMSC) provide SMS accounts to users and an interface to the mobile network. SMS messages are transported using Short Message Peer-to-Peer protocol (SMPP). The SMSC uses SMPP to communicate its messages to the users.
Many different communication services exist that send SMS messages to phone subscribers. Subscribers typically register over the Internet for a service, such as a weather service, sports service, or the like, in which desired information is gathered and sent to the user's mobile phone using SMS messages. Some SMS services are event-driven, which means that they monitor something and react if an event happens. For example, some SMS weather services will send out an SMS message if a National Weather Service warning is issued in a certain area. The applications that run these services are typically combined with SMSCs that access the mobile communication network. However, because SMS services do not communicate via HTTP, mobile phones could not use SMS messaging to access similar services provided to Internet users through application servers. Moreover, because application servers are typically synchronous, request-driven applications and not event-driven, SMS services, such as the described weather service, could not generally be implemented in an application server.
Furthermore, building and deploying SMS mobile-enabled applications is typically complex and costly. Even for simple response or menu-based applications, knowledge of telecommunication session management, telecommunications routing, and the like is usually required. The developer or enterprise building the application also typically provides other telecommunication related considerations, such as scalability, failsafe mechanisms, throttling, metering, monitoring, logging, and/or automatic rebinding capabilities. Such implementation requirements are generally limited to larger, well capitalized entities.
Additional electronic technologies, such as Instant Messaging (IM) services, are also growing in popularity as a method for communication over the Internet and other types of networks. IM services, which are defined with such protocols as Internet Relay Chat (IRC) Extensible Messaging and Presence Protocol (XMPP) and the like, set up client-server relationships with each participating user. As user's log into the IM server, they may send messages or data to other users logged into or members of the IM service. The messages are sent in real time to the server and then from the server to the target user using the transport protocol. Therefore, an IM message may not typical access application server logic without first being converted into an HTTP request through an intermediate server.
Application server logic and technology provide complex processing and services to users accessing their logic through Web browsers and the HTTP Internet. However, this processing logic generally is recoded if it is desired to provide the logic to other technologies, such as mobile phones, through SMS, IM, and the like. This recoding of logic costs service providers considerable resources to create different versions of the same logic for use by different technologies. Other attempts to converge the various protocols and features entail merely translating non-HTTP messages into HTTP. However, in order to create a system in which the non-HTTP request will be recognized and useful to the HTTP-driven applications, substantial modifications to either the request or the HTTP application is still required.